//  @ Project : SSU Robot Simulator
//  @ File Name : Joint.h
//  @ Date : 4/4/2011
//  @ Author : Andrew Holbrook
//
//

#pragma once

#if !defined(_JOINT_H)
#define _JOINT_H

namespace SSURoboSim
{
	namespace Kinematics
	{
		class Joint
		{
		public:
			~Joint();

			float getValue() { return value_; }
			float getMin() { return min_; }
			float getMax() { return max_; }

			void setValue(float value);

			virtual void glJointTransform() = 0;

		protected:
			Joint(float value=0.0f, float min=-180.0f, float max=180.0f);
			Joint(Joint &j);

		private:
			float value_;
			float min_;
			float max_;
		};
	}
}

#endif //_JOINT_H
